/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ipartek.formacion.gestformwww.modelo.beans;

import com.ipartek.formacion.gestformwww.controlador.Verificador;
import java.sql.Timestamp;
import java.util.ArrayList;

/**
 *
 * @author Sara y Victor
 */
public class Calendario {

    private Timestamp calFechaIni;
    private Timestamp calFechaFin;
    private DiaClase diaClase;
    private boolean sabados;

    public Calendario(Timestamp calFechaIni, Timestamp calFechaFin, boolean sabados, DiaClase diaClase) {
        this.calFechaIni = calFechaIni;
        this.calFechaFin = calFechaFin;
        this.sabados = sabados;
        this.diaClase = diaClase;
    }

    public Calendario() {
    }

    public Timestamp getCalFechaFin() {
        return calFechaFin;
    }

    public void setCalFechaFin(Timestamp calFechaFin) {
        this.calFechaFin = calFechaFin;
    }

    public void setCalFechaFin(String calFechaFin) {
        this.calFechaFin = Verificador.stringAFecha(calFechaFin);
    }

    public Timestamp getCalFechaIni() {
        return calFechaIni;
    }

    public void setCalFechaIni(Timestamp calFechaIni) {
        this.calFechaIni = calFechaIni;
    }

    public void setCalFechaIni(String calFechaIni) {
        this.calFechaIni = Verificador.stringAFecha(calFechaIni);
    }

    public DiaClase getDiaClase() {
        return diaClase;
    }

    public void setDiaClase(DiaClase diaClase) {
        this.diaClase = diaClase;
    }

    public boolean isSabados() {
        return sabados;
    }

    public void setSabados(boolean sabados) {
        this.sabados = sabados;
    }

    public void setSabados(String sabados) {
        try {
            this.sabados = Boolean.parseBoolean(sabados);
        } catch (Exception ex) {
            this.sabados = false;
        }
    }

    public ArrayList<String> validar() {
        ArrayList<String> errorm = new ArrayList<String>();
        if (this.calFechaIni == null) {
            errorm.add("error-fecha-inicio-curso-vacio");
        } 
        if (this.calFechaFin == null) {
            errorm.add("error-fecha-fin-curso-vacio");
        } 
        if (!Verificador.ordenFechasCorrecto(this.calFechaIni, this.calFechaFin)) {
            errorm.add("error-orden-fechas-curso");
        }
        if (!Verificador.validarHora(this.diaClase.getClaHoraInicioMan(), false)) {
            errorm.add("error-hora-inim");
        } 
        if (!Verificador.validarHora(this.diaClase.getClaHoraInicioTar(), false)) {
            errorm.add("error-hora-finm");
        } 
        if (!Verificador.validarHora(this.diaClase.getClaHoraFinMan(), false)) {
            errorm.add("error-hora-init");
        } 
        if (!Verificador.validarHora(this.diaClase.getClaHoraFinTar(), false)) {
            errorm.add("error-hora-fint");
        }
        return errorm;
    }
}
